package com.shujia.day12;

import java.util.HashMap;
import java.util.Map;

public class Code15MapDemo {
    public static void main(String[] args) {
        /*
            Map:
                1、用于存储KeyValue的一个数据结构
                2、是一个接口，对于子实现类包含有常用的 HashMap 以及 TreeMap
                3、创建子类对象需要给定Key以及Value的泛型
                4、对于Map是使用{}来表示类型
                5、对于存储的Key要求是唯一的，并且后添加的数据会覆盖最先添加的

            Map中的成员方法:
                V put(K key,V value)
                V remove(Object key) 删除数据并返回其Value值
                void clear()
                boolean containsKey(Object key)    // 判断某个Key是否包含在HashMap中
                boolean containsValue(Object value) // 判断某个Key是否包含在HashMap中
                boolean isEmpty()
                int size()  // 当前HashMap中包含有多少Key-Value数据对

         */

        Map<String, Integer> hashMap = new HashMap<>();

        hashMap.put("苹果",4); // 用于添加数据
        hashMap.put("梨子",3);
        hashMap.put("西瓜",2);
        hashMap.put("梨子",2);

        System.out.println(hashMap);


        Integer integer = hashMap.remove("西瓜"); //
        System.out.println(integer);
        System.out.println(hashMap);


        if (hashMap.containsKey("苹果")) {
            System.out.println("HashMap中包含有苹果");
        }

        if (hashMap.containsValue(2)) {
            System.out.println("HashMap包含有2");
        }

        System.out.println("size:"+hashMap.size());

        hashMap.clear();
        System.out.println("isEmpty:"+hashMap.isEmpty());

    }
}
